package com.sinog.core.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc 帮教信息-全部人员管理列表
 * @author -
 * @date -
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@TableName("ab_prisoners")
public class AbPrisonersResultVo extends Model<AbPrisonersResultVo> {

    /**
     * 主键
     */
    @TableId(type = IdType.INPUT)
    private String id;
    /**
     * 罪犯编号
     */
    private String priNum;
    /**
     * 姓名
     */
    private String pname;
    /**
     * 曾用名
     */
    private String usedname;
    /**
     * 性别
     */
    private String sex;
    /**
     * 民族
     */
    private String nationality;
    /**
     * 身份证号
     */
    private String idnum;
    /**
     * 出生日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date age;
    /**
     * 文化程度
     */
    private String education;
    /**
     * 核查状态
     */
    private String state;
    /**
     * 录入监所名称
     */
    private String adduserid;
    /**
     * 录入监所名称
     */
    private String addusername;
    /**
     * 衔接状态
     */
    private String stateXj;
    /**
     * 衔接司法所ID
     */
    private String useridXj;
    /**
     * 衔接司法所名称
     */
    private String usernameXj;
    /**
     * 安置状态,1:未安置,2:已安置,3:已移出
     */
    private String azzt;
    /**
     * 帮教状态
     */
    private String bjzt;
    /**
     * 人员状态
     */
    private String pstate;
    /**
     * 监所类型
     */
    private String ptype;
    /**
     * 所在监所
     */
    private String prison;
    /**
     * 所在监所名称
     */
    private String prisonname;
    /**
     * 服刑单位
     */
    private String pdanwei;
    /**
     * 服刑单位名称
     */
    private String pdanweiname;
    /**
     * 入监日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date addtime;
    /**
     * 户籍类型
     */
    private String priAddr;
    /**
     * 户籍所在省
     */
    private String nativepro;
    /**
     * 户籍所在地市
     */
    private String nativecity;
    /**
     * 户籍所在区县
     */
    private String nativecou;
    /**
     * 户籍所在乡镇
     */
    private String nativevill;
    /**
     * 户籍所在省name
     */
    private String nativeproName;
    /**
     * 户籍所在地市name
     */
    private String nativecityName;
    /**
     * 户籍所在区县name
     */
    private String nativecouName;
    /**
     * 户籍所在乡镇name
     */
    private String nativevillName;
    /**
     * 户籍详细门牌号
     */
    private String nativenum;
    /**
     * 居住所在省
     */
    private String placepro;
    /**
     * 居住所在地市
     */
    private String placecity;
    /**
     * 居住所在区县
     */
    private String placecou;
    /**
     * 居住所在乡镇
     */
    private String placevill;
    /**
     * 居住所在省name
     */
    private String placeproName;
    /**
     * 居住所在地市name
     */
    private String placecityName;
    /**
     * 居住所在区县name
     */
    private String placecouName;
    /**
     * 居住所在乡镇name
     */
    private String placevillName;
    /**
     * 居住详细门牌号
     */
    private String placenum;
    /**
     * 逮捕机构所在省
     */
    private String arrestpro;
    /**
     * 逮捕机构所在市
     */
    private String arrestcity;
    /**
     * 逮捕机构所在县
     */
    private String arrestcou;
    /**
     * 逮捕机构所在乡镇
     */
    private String arrestvill;
    /**
     * 逮捕机构详细地址
     */
    private String arrestnum;
    /**
     * 逮捕机构所在乡镇name
     */
    private String arrestvillName;

    /**
     * 帮教工作方案
     */
    private String xbjfa;
    /**
     * 创建时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 创建账号
     */
    private String createUser;
    /**
     * 更新时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 更新账号
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private String updateUser;
    /**
     * 安置标志 0:司法所完成衔接进入安置帮教,1:司法所手动转入安置帮教
     */
    private String flag;

    /**
     * 描述
     * @return Serializable
     */
    @Override
    protected Serializable pkVal() {
        return id;
    }
}